草庐IT

java - 单击 JLabel 打开一个新框架

全部标签

ruby - 是什么触发了关于第一个参数不明确的 Ruby 警告?

在Ruby1.9.1中,如果你这样做$VERBOSE=trueputs/m/,42.to_s或者如果我这样做$VERBOSE=trueputs/m/,"42"你收到警告warning:ambiguousfirstargument;putparenthesesorevenspaces但我不明白$VERBOSE=trueputs"m",42.to_s或$VERBOSE=trueputs(/m/,42.to_s)那么具体是什么触发了这个警告?我还可以在原始表达式中添加哪些空格? 最佳答案 “问题”是/可以表示除法或正则表达式。该消息是通用

ruby-on-rails - cucumber 和 capybara ,如何打开外部网址或访问外部网址

我用的是cucumber和capybara。在rails3.0.9平台中。我得到这个测试用例失败:日志是:(::)failedsteps(::)Noroutematches"/wiki/Baltimore_Ravens"(ActionController::RoutingError):10:in`synchronize'./features/step_definitions/web_steps.rb:20:in`/^(?:|I)amon(.+)$/'features/annotate.feature:7:in`GivenIamonawebpage'FailingScenarios:cu

ruby - 我如何混入 Singleton 来创建一个接受初始化参数的类?

我已经了解了如何将类定义为单例(howtocreateasingletoninRuby):require'singleton'classExampleincludeSingletonend但是如果我想在初始化单个实例时将一些参数传递给#new怎么办?示例应始终初始化某些属性。例如,假设我有一个类,其唯一目的是记录到一个文件,但它需要一个要记录到的文件的名称才能工作。classMyLoggerdefinitialize(file_name)@file_name=file_nameendend我怎样才能使MyLogger成为单例,但确保它获得一个文件名? 最佳答

ruby-on-rails - 如何让 Rails 中的 named_scope 返回一个值而不是数组?

我想写一个namedscope从它的id中获取记录。例如,我有一个名为Event的模型,我想使用named_scope来模拟Event.find(id)future的灵active。我在我的模型中使用了这段代码:named_scope:from_id,lambda{|id|{:conditions=>['id=?',id]}}我从我的Controller调用它,如Event.from_id(id)。但我的问题是它返回一组Event对象而不是一个对象。因此如果我想获取事件名称,我必须写event=Event.from_id(id)event[0].name而我想要的是event=Even

ruby - 创建一个根据角色执行不同任务的 Capistrano 任务

我正在寻找一种方法来调用单个Capistrano任务来为不同的角色执行不同的事情。Capistrano是否能够做到这一点,或者我是否为每个角色编写了特定任务? 最佳答案 在Capistrano中执行此操作的标准方法:task:whatever,:roles=>[:x,:y,:z]dox_tasksy_tasksz_tasksendtask:x_tasks,:roles=>:xdo#...endtask:y_tasks,:roles=>:ydo#...endtask:z_tasks,:roles=>:zdo#...end所以是的,您确

ruby - 确定一个字符串是否包含一组字符串中的任何一个

我正在使用Mechanize与一些网页进行交互,并且我正在尝试确定给定的表单提交是否导致了错误。现在我正在这样做:agent.page.body.include?("I'manerrormessage!")但我刚刚发现另一个错误信息。因为我不想这样做:agent.page.body.include?("I'manerrormessage!")||agent.page.body.include?("Anothererrormessage")如何确定页面正文是否包含任一个错误消息? 最佳答案 error_messages.any?{|m

ruby - 创建一个无限循环

我正在尝试创建一个无限循环,其中一段代码将永远执行。我找到的所有循环文档都警告不要创建无限循环,但没有有效示例。如果我有一段代码:{puts"foo"puts"bar"sleep300}我将如何永远运行这个block? 最佳答案 loopdoputs'foo'puts'bar'sleep300end 关于ruby-创建一个无限循环,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/2

ruby - 一个在 Ruby 上表现非常糟糕的简单正则表达式

我有一个简单的Ruby正则表达式,需要很长时间才能计算:"fußball"*20=~/^([\S\s]{1000})/i如果我删除/i标志,它会工作得非常快。为什么运行这么慢?(我没有等到执行完毕)我知道这个正则表达式可能没有意义,但我想知道幕后是什么。错误报告:https://bugs.ruby-lang.org/issues/14418 最佳答案 默认.不匹配换行符。[\s\S]是解决该问题的方法。在Ruby中,您可以使用/m标志使点匹配所有字符。它在文档中RubyMetacharactersandEscapes[\S\s]由于

ruby - 为什么模块 `ClassMethods` 在同一个命名空间中定义和扩展?

我正在尝试理解来自githubrepo的代码.它是设置客户端的gem的主要模块。moduleGithub#morecodeclass为什么是class和moduleClassMethods使用,然后扩展而不是包含在class中部分?有一个类方法defincluded(base).这似乎将类方法添加到特定对象中。为什么会这样?它可能与类的功能有关,但我不明白。 最佳答案 moduleMyModuleclassendend这实际上是Ruby中很常见的做法。基本上,它的意思是:当某个对象执行includeMyModule时,也使它也ext

ruby-on-rails - "The Ruby way"(mixins 和类重新打开)与依赖注入(inject)

在研究混合与依赖注入(inject)时,我经常听到“Ruby方式”这个词。开发人员通常会说一些类似的话Rubyletsyoureopenclassesandredefinemethodsmeansthatyoucaneasily"inject"newreferencesintoyourcodeattest-time.(参见http://weblog.jamisbuck.org/2007/7/29/net-ssh-revisited的#6)但是测试不是我主要关心的;我关心的是类重用。我想要可以在多个企业级Rails应用程序中重用的类。那么重用类发生了什么?使用mixins和重新打开类似乎